package fejezet20;

import java.awt.*;
import javax.swing.JApplet;

public class OptikaiCsalódás3 extends JApplet {

  @Override
  public void init() {
    resize(750, 500);
  }

  @Override
  public void paint(Graphics g) {
    Point hely;
    for(int i=1; i<=4; i++)
      for(int j=1; j<=4; j++) {
        hely=new Point((i-1)*180, (j-1)*120);
        if((i+j)%2==1)
          minta1(g, hely);
        else
          minta2(g, hely);
      }
  }

  private void minta1(Graphics g, Point hely) {
    Point pozíció;
    for(int i=1; i<=4; i++)
      for(int j=1; j<=4; j++) {
        pozíció=new Point(hely.x+(i-1)*45, hely.y+(j-1)*30);
        if((i+j)%2==1)
          téglalap1(g, pozíció, Color.MAGENTA, Color.YELLOW);
        else
          téglalap2(g, pozíció, Color.YELLOW, Color.MAGENTA);
      }
  }

  private void minta2(Graphics g, Point hely) {
    Point pozíció;
    for(int i=1; i<=4; i++)
      for(int j=1; j<=4; j++) {
        pozíció=new Point(hely.x+(i-1)*45, hely.y+(j-1)*30);
        if((i+j)%2==1)
          téglalap2(g, pozíció, Color.MAGENTA, Color.YELLOW);
        else
          téglalap1(g, pozíció, Color.YELLOW, Color.MAGENTA);
      }
  }

  private void téglalap1(Graphics g, Point hely, Color kitölt, Color szín) {
    g.setColor(kitölt);
    g.fillRect(hely.x, hely.y, 45, 30);
    g.setColor(szín);
    g.fillRect(hely.x+2, hely.y+2, 13, 9);
    g.fillRect(hely.x+30, hely.y+19, 13, 9);
  }

  private void téglalap2(Graphics g, Point hely, Color kitölt, Color szín) {
    g.setColor(kitölt);
    g.fillRect(hely.x, hely.y, 45, 30);
    g.setColor(szín);
    g.fillRect(hely.x+30, hely.y+2, 13, 9);
    g.fillRect(hely.x+2, hely.y+19, 13, 9);
  }
}